<?php

/*--------------Legger til vare i cookie, hvis kjøp-knappen er trykket-----------*/
if (isset($_GET['vareKjop'])) {
    createCookies("vare", $_GET["vareNavn"], $_GET["antall"]);
    header("Location: /Views/handlekurv.php");
}

/*-----------------Tømmer handlekurv------------------*/
if (isset($_GET['T%C3%B8m'])) {
    deleteCookie("vare");
    header("Location: /Views/handlekurv.php");
}

/*------------Sletter en vare fra handlekurv-------------*/
if (isset($_GET['Slett'])) {
    $allItems = returnValues('vare');   //Gjør om til array
    for ($i = 0; $i < sizeof($allItems); $i+=2) {    //Går igjennom alle
        if ($allItems[$i] == $_GET['vareID']) {         //Sjekker om den finnes
            unset($allItems[$i+1]);         //Sletter antall
            unset($allItems[$i]);           //Sletter id
        }
    }
    $itemString = implode(",", $allItems);
    deleteCookie('vare');
    setcookie('vare', $itemString, time() + 7200, '/');
    header("Location: /Views/handlekurv.php");
}

/*-----------------Oppdaterer antall------------*/
if (isset($_GET['Oppdater'])) {
    $allItems = returnValues('vare');   //Gjør om til array
    for ($i = 0; $i < sizeof($allItems); $i+=2) {    //Finner varen:
        if ($allItems[$i] == $_GET['vareID']) {
            $allItems[$i+1] = $_GET['antall'];
            if ($_GET['antall'] == 0) {         //Hvis '0' - slett
                unset($allItems[$i+1]);
                unset($allItems[$i]);
            }
        }
    }
    $itemString = implode(",", $allItems);
    deleteCookie('vare');
    setcookie('vare', $itemString, time() + 7200, '/');
    header("Location: /Views/handlekurv.php");
}

/*--------Tar hånd om ny vare skal addes, eller om cookien må lages------*/
function createCookies($name, $value, $antall) {
    if (!isset($_COOKIE[$name])) {      //Hvis cookien ikke er laget
        $vare = $value . ',' . $antall;
        setcookie($name, $vare, time() + 7200, '/');
    } else {//Hvis cookien eksisterer, skal vare bare legges til
        addValue($name, $value, $antall);
    }
}

/*--------Legger vare til i allerede eksisterende cookie----------*/
function addValue($cookieName, $value, $antall) {
    $allItems = returnValues('vare'); //Returnerer cookien i en array
    $flag = false;
    for ($i = 0; $i < sizeof($allItems); $i++) {    //Sjekker om den finnes fra før
        if ($value == $allItems[$i]) {      //Hvis den fins, skal kun antallet økes.
            $allItems[$i + 1] += $antall;
            $flag = true;      //Hvis varen fantes - sett flag
        }
        $i++;
    }
    $itemString = '';
    if ($flag == false) { //Hvis ikke fantes- legg varen på stringen
        $itemString = $_COOKIE[$cookieName] . ',' . $value . ',' . $antall;  //Hvis varen ikke fantes fra før, legg til bakerst
    } else {//Hvis fantes- gjør om fra array til string
        $itemString = implode(",", $allItems);
    }

    deleteCookie('vare');
    setcookie($cookieName, $itemString, time() + 7200, '/');
}

function deleteCookie($name) {
    setcookie($name, "", time() - 7200, '/');
}

/*------------Returnerer cookien som array-----------*/
function returnValues($name) {
    if (isset($_COOKIE[$name])) {
        return explode(",", $_COOKIE[$name]);
    }
}
?>

